Skip to main content

URI Format

This document defines the standard for URI formats for ITEMs.

NDEF URL Format

Due to the restriction in the NdefApplet v1.0.0 where the base URL was only allowed to be 17 bytes, the following URI standard was devised:

<DOMAIN_NAME>/<PATH_ITEM_ID>/<PATH_ITEM_INFO_HASH>?<QUERY_PARAM_NAME>=
  • Domain Name (<DOMAIN_NAME>): the domain name used in NDEF applet.
    • It should be always set to itm.st.
    • Fixed to 6 chars.
  • Path ITEM Identifier (<PATH_ITEM_ID>): represents the product or OEM identifier that the ITEM System's technology is placed.
    • For example, ob stands for OneBand and mp for Metal Plaques.
    • Maximum of 2 chars.
  • Path ITEM Info Hash (<PATH_ITEM_INFO_HASH>): represents some information about the ITEM ID/object, in a hash format. It can be, e.g., the software version running in the ITEM ID/object. Due to size constraints, this is the first 4 chars of the version SHA-256 hash.
    • For example, 2485 is the SHA-256("v1.0.0"), while d403 is the SHA-256("dk1").
    • See how to generate the hash in this section.
    • Maximum of 4 chars.
  • Query Param Name (QUERY_PARAM_NAME): represents the query parameter name followed by the equal sign (=).
    • It should be always set to d, of "data".
    • The data carries the so-called "augmented data", and the format is documented here.
    • Fixed to 1 char.

Some examples:

  • Consensus 2023, with OneBand: itm.st/ob/d403?d=
  • Token2049 2023, with OneBand: itm.st/ob/d403?d=
  • Denver Walls 2023, with Metal Plaques: itm.st/mp/2485?d=
  • Consensus 2024, with OneBand: itm.st/ob/2485?d=

Generating the ITEM Info Hash

Some useful commands and its respective outputs:

  • Version: v1.0.0:

    • Generate the hash:

      echo -n "v1.0.0" | shasum -a 256 | cut -c 1-4
    • Response:

      2485
  • Version: dk1:

    • Generate the hash:

      echo -n "dk1" | shasum -a 256 | cut -c 1-4
    • Response:

      d403